home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / developer-tools / aros / source / exec / makefile < prev    next >
Encoding:
Makefile  |  1996-07-16  |  2.2 KB  |  84 lines

  1. # $Id: Makefile 1.2 1995/11/14 22:04:47 digulla Exp digulla $
  2. # $Log: Makefile $
  3. # Revision 1.2    1995/11/14  22:04:47  digulla
  4. # src/ ersetzt durch $(SRCDIR)
  5. # $(SRCDIR)inittable.h mit der Tabelle aller LVOs wird automatisch
  6. #     generiert.
  7. # LIB_PARTS werden nicht mehr aus *.lib sondern aus *.o zusammengesetzt
  8. # Quellfiles werden aus Unterverzeichnissen angezogen
  9. # makedepend-Regel eingebaut
  10. #
  11. # Revision 1.1    1995/11/05  22:39:18  digulla
  12. # Initial revision
  13. #
  14.  
  15. TOP_DIR     = prj:
  16. CURRENT_DIR    = source/exec/
  17.  
  18. include $(TOP_DIR)MakeFlags
  19.  
  20. SUBDIRS     = docs kernel memory lists library devices interrupts \
  21.             messages resident resources semaphores signals tasks
  22. USR_DIST_FILES    =
  23. DEV_DIST_FILES    = Makefile TODO include/exec_intern.h src/execbase.c \
  24.             internal geninittab.awk $(USR_DIST_FILES)
  25.  
  26. SRCDIR        = src/
  27. SRCS        = $(SRCDIR)execbase.c
  28. OBJS        = $(patsubst $(SRCDIR)%.c,$(OBJDIR)/%.o,$(SRCS))
  29. DEPS        = $(patsubst $(SRCDIR)%.c,$(OBJDIR)/%.d,$(SRCS))
  30. INCLUDES    =   $(INCLUDE_DIR) $(TOP_DIR)$(CURRENT_DIR)include \
  31.             $(INCLUDE_DIR) $(TOP_DIR)source/exec/include \
  32.             $(INCLUDE_DIR) $(TOP_DIR)include
  33.  
  34. LIB        = $(LIB_PREFIX)exec$(OPT_SUFFIX)$(LIB_SUFFIX)
  35. EXTRA_MAKEFLAGS = LIB=$(TOP_DIR)$(CURRENT_DIR)$(LIB)
  36. LIB_PARTS    = $(wildcard \#?/exec_\#?$(OPT_SUFFIX).lib)
  37.  
  38. all :: $(OBJDIR) all_subdirs $(LIB)
  39.  
  40. $(OBJDIR) :
  41.     -$(MKDIR) $(OBJDIR)
  42.  
  43. all_subdirs :
  44.     @$(subst TARGET,all,$(SUBDIR_RULE))
  45.  
  46. $(LIB) :: $(OBJS) $(LIB_PARTS)
  47.     -$(RM) $(LIB)
  48.     $(AR) $(LIB) $(OBJS) $(LIB_PARTS)
  49.     $(done-with-it)
  50.  
  51. install ::
  52.     @$(subst TARGET,$@,$(SUBDIR_RULE))
  53.     $(INSTALL_DATA) $(LIB) $(libdir)$(LIB)
  54.     $(done-with-it)
  55.  
  56. clean ::
  57.     -$(RM) $(OBJS) $(LIB)
  58.     @$(subst TARGET,$@,$(SUBDIR_RULE))
  59.  
  60. check ::
  61.     @$(subst TARGET,$@,$(SUBDIR_RULE))
  62.  
  63. dist ::
  64.     @$(subst TARGET,$@,$(SUBDIR_RULE))
  65.     @$(do-dist)
  66.  
  67. $(OBJDIR)/%.o : $(SRCDIR)%.c
  68.     $(run-cc)
  69.  
  70. $(OBJDIR)/%.d : $(SRCDIR)%.c
  71.     $(make-depend)
  72.  
  73. inittable : $(wildcard */$(SRCDIR)*.c) geninittab.awk
  74.     list "#?/src/#?.c" lformat="%s%s" > t:filelist
  75.     gawk -f geninittab.awk t:filelist >> $(SRCDIR)inittable.h
  76.     -$(RM) t:filelist
  77.  
  78. protos : $(wildcard */$(SRCDIR)*.c) genprotos.awk
  79.     list "#?/src/#?.c" lformat="%s%s" > t:filelist
  80.     gawk -f genprotos.awk t:filelist > include/clib/exec_protos.h
  81.     -$(RM) t:filelist
  82.  
  83. -include $(DEPS)
  84.